package com.patterns.proxy.forceProxyPlayer;

/**
 * Created by Xiao Yiyun on 2017/4/22.
 * 强制代理
 * 游戏玩家代练者实现类
 * 同样实现了游戏玩家接口
 * 因为代练者同样也是游戏玩家之一
 */
public class GamePlayerProxy implements IGamePlayer {

    //定义一个普通玩家属性，并通过构造方法来决定代理哪个游戏玩家
    //普通游戏玩家就通过这种方式将自己的游戏寄托给代练
    //让代练帮自己打怪升级
    private IGamePlayer gamePlayer = null;
    public GamePlayerProxy(IGamePlayer gamePlayer) {
        this.gamePlayer = gamePlayer;
    }
    //代理登录
    public void login(String user, String pwd) {
        this.gamePlayer.login(user, pwd);
    }
    //代理打怪
    public void killBoss() {
        this.gamePlayer.killBoss();
    }
    //代理升级
    public void upGrade() {
        this.gamePlayer.upGrade();
    }
    //没有代理的代理，返回自己
    public IGamePlayer getProxy() {
        return this;
    }
}
